Document processing apparatus, control method therefor, and computer program

ABSTRACT

This invention returns a page image of a scanned document image to a state before an image correction process by only a simple operation, and facilitates bookbinding work. For this purpose, a plurality of shared folders are set on a network, and attributes in printing are set for the shared folders. A hot folder program supervises the shared folders. When a document image data file scanned by a multifunction apparatus is stored in one of the shared folders, the hot folder program causes an action program to perform a process complying with the attributes set for the shared folder which stores the file, and a bookbinding application to import the file. At this time, when backup in the shared folder is set, an original file stored in the shared folder is backed up in a backup folder. If a bookbinding application designates replacement with a desired page, the page is replaced with a page in the backup folder.

FIELD OF THE INVENTION

The present invention relates to a technique of combining output datagenerated by various application programs such as a document editingapplication and image editing application into one electronic document.

BACKGROUND OF THE INVENTION

As the performance of general-purpose information processing apparatusessuch as a personal computer improves, texts, tables, images, and thelike can be easily edited/created by various application programs.

In general, texts, simple tables, and the like are created by a documentediting application program, images are created by an image editingapplication program, and tables with relatively complicated operationare created by a spreadsheet application program. In this manner, theuser selectively uses an application in accordance with the purpose.

A document for one purpose is formed from only one type of data such asonly a text, only a table with numerical operation, or only an image,but a situation in which a document containing different types of datais created is increasing.

To prepare a document formed from a plurality of types of data, eachpart of the document is created, edited, and printed by a correspondingapplication. Then, respective parts are rearranged in order andcombined.

However, to assign page numbers to pages when the user creates onetarget document by combining printed materials generated by variousapplications, the user must print out all necessary data, combine theminto a paper document as a printed result, and then determine pagenumbers to be assigned. Each application writes determined page numberson respective pages (to be referred to as logical pages or documentpages) of a document created by the application. Even if the applicationprogram has a function of assigning page numbers, the page numbers ofdiscontinuous pages must be designated by the user. If the pages of thetarget document are rearranged, page numbers must be reassigned inaccordance with the rearrangement. These pages must also be edited andprinted again by a corresponding application when not data contents butmerely the format is changed so that a plurality of document pages arecombined into one page (to be referred to as a physical page or printpage) as a print material, or single-sided printing is changed todouble-sided printing.

Since an application which manages data changes depending on the type ofdata, the user must manually provide an interface between applications.This means that much labor is demanded of the user, decreasing theproductivity. Especially creation of a document for one purpose bysharing respective parts between a plurality of users by usingapplication programs on the PCs of the users is confusing, and readilycauses errors owing to operations by many users.

In this technical background, the assignee of the present applicant hasproposed a mechanism of combining documents created by variousapplications into one electronic document, managing the electronicdocument by a hierarchical structure formed from a book, chapter, andpage, and performing print settings for each layer (e.g., JapanesePatent Laid-Open No. 2003-162407).

The assignee of the present applicant examines a mechanism for aprinting system disclosed in this reference. According to thismechanism, not only documents created by various applications but alsopaper documents are scanned by a multifunction apparatus, scanner, orthe like, and image data of scanned pages are imported into abookbinding application to form one document file. Further, thismechanism allows properly changing the layout and arrangement position,and stores and manages the file as bookbinding data. As a result, thetype and manufacturer of an application for creating and editing pagesof a document do not matter, and the user can directly uses anaccustomed application. Since each page of a scanned document isoptically scanned, unlike an application data file created by anapplication, the resultant data is likely to be noisy owing to skewscanning of a document or attachment of dust. By executing an imagecorrection process such as skew correction or dust removal, a scanneddocument image can be stored and managed as a page of bookbinding dataat almost the same quality as that of a result printed from a data filecreated by a general application program.

However, when a character contained in a scanned document is small, thesonant symbol of the character or the like may be determined as noiseand removed. Also, a document may be intentionally skewed and scanned,and an image correction process may be performed against the user'swill. In this case, a page having undergone image correction must beremoved, a document must be scanned again without any image correctionprocess, and the scanned image data must be imported into the systemwithout any image correction.

SUMMARY OF THE INVENTION

The present invention has been made to overcome the conventionaldrawbacks, and provides a technique of returning a page image of ascanned document image to a state before an image correction process byonly a simple operation, and facilitating bookbinding work.

To solve the above problems, a document processing apparatus accordingto the present invention comprises the following arrangement. That is, adocument processing apparatus which stores, as part of one documentdata, each page image in an image file and edits each page image,comprises

-   -   backup setting means for setting that a backup of the page image        to be imported as part of document is created;    -   save means for saving the page image in a predetermined storage        area when the backup setting means sets that the backup of the        page image is created;    -   display control means for displaying each page image of a        document imported into the document data on a display for        editing the document data; and    -   replacement means for, when a desired page is designated from        pages displayed by the display control means, a predetermined        operation input is done, and a backup of a page image which        corresponds to the designated page has been saved in the save        means, replacing the designated page with the backed-up page        image.

Other features and advantages of the present invention will be apparentfrom the following description taken in conjunction with theaccompanying drawings, in which like reference characters designate thesame or similar parts throughout the figures thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention.

FIG. 1 is a block diagram showing an example of the softwareconfiguration of a stand-alone document processing system according toan embodiment;

FIG. 2 is a block diagram showing an example of a hardware configurationwhich implements the document processing system according to theembodiment;

FIG. 3 is a view showing an example of a book file structure;

FIGS. 4A and 4B are tables showing a list of book attributes;

FIG. 5 is a table showing a list of chapter attributes;

FIG. 6 is a table showing a list of page attributes;

FIG. 7 is a flowchart showing an example of a sequence of opening a bookfile;

FIG. 8 is a view showing an example of a user interface window when anew book file is opened;

FIG. 9 is a view showing an example of a user interface window when anexisting book file is opened;

FIG. 10 is a flowchart showing an example of a sequence of importing anelectronic document file to a book file;

FIG. 11 is a flowchart showing an example of a sequence of convertingapplication data into an electronic document file in step S801 of FIG.10;

FIG. 12 is a view showing an example of a data structure used forprinting and display;

FIG. 13 is a block diagram showing an example of the softwareconfiguration of a client-server document processing system;

FIG. 14 is a view showing an example of a dialog window for setting awhole document serving as the uppermost layer of the data structure;

FIG. 15 is a view showing an example of a dialog window for setting achapter serving as the intermediate layer of the data structure;

FIG. 16 is a view showing an example of setting a unique attribute inthe dialog window of FIG. 15;

FIG. 17 is a view showing an example of a dialog window for setting apage serving as the lowermost layer of the data structure;

FIG. 18 is a view showing an example of changing a setting value in thedialog window of FIG. 17;

FIG. 19 is a view showing an example of display when settings unique-toa chapter and page are done;

FIG. 20 is a flowchart showing the process sequence of an entire hotfolder program according to the embodiment;

FIG. 21 is a view showing an example of a task bar while the hot folderprogram runs;

FIG. 22 is a view showing an example of an automatic import setting GUI;

FIG. 23 is a view showing a GUI displayed when a folder to be supervisedis added and edited;

FIG. 24 is a view showing a GUI for designating an action taken by thehot folder program when a file is added to the folder to be supervised;

FIG. 25 is a view showing a GUI for designating an action taken by thehot folder program when a file is added to the folder to be supervised;

FIG. 26 is a view showing an example of the description of addressinformation;

FIG. 27 is a flowchart for explaining details of step S2004 in FIG. 20;

FIG. 28 is a flowchart for explaining details of the determinationprocess in step S2005 of FIG. 20 and the pre-process of an action to afolder in step S2006;

FIG. 29 is a flowchart for explaining details of the post-process of anaction to a folder in step S2006 of FIG. 20;

FIG. 30 is a view showing an example of a GUI for setting a mode inwhich additional read is permitted;

FIG. 31 is a flowchart for explaining a sequence of determining a windowto be added by the hot folder program;

FIG. 32 is a flowchart for explaining details of step S2908 in FIG. 29;

FIG. 33 is a flowchart showing a replacement process with a backup file;

FIG. 34 is a view showing an example of a table referred to when a bookattribute is applied to a chapter;

FIG. 35 is a flowchart for explaining an example of a process when theprinting method setting is applied;

FIG. 36 is a flowchart showing a setting process for a chapter;

FIG. 37 is a view showing an example of a GUI when settings are changedto those of a hot folder;

FIG. 38 is a flowchart showing another example of a backup process;

FIG. 39 is a view showing an example of display of a page replaceablewith a backup;

FIG. 40 is a view showing a network configuration;

FIG. 41 is a view for explaining the function of the hot folderaccording to the embodiment; and

FIG. 42 is a flowchart showing a process added to FIG. 20 according tothe second embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Preferred embodiments of the present invention will be described indetail below with reference to the accompanying drawings.

Outline of Document Processing System According to First Embodiment

The outline of a document processing system according to the firstembodiment will be described with reference to FIGS. 1 to 13.

In the document processing system, a data file created by a generalapplication is converted into an electronic document file by anelectronic document writer to be described in the first embodiment. Abookbinding application according to the first embodiment provides afunction of editing the electronic document file. In the firstembodiment, a general application, electronic document writer,bookbinding application, and electronic document de-spooler areseparately described for distinction between these functions. However, apackage provided to the user is not limited to them, and an applicationor graphic engine as a combination of them may be provided, details ofwhich will be described below.

Example of Software Configuration of Document Processing SystemAccording to First Embodiment

FIG. 1 is a block diagram showing the software configuration of thedocument processing system according to the first embodiment.

The main part of the document processing system according to the firstembodiment is implemented by a general-purpose information processingapparatus 100 such as a personal computer (to be also referred to as aPC or host computer hereafter). The type and manufacturer of a generalapplication 101 do not matter as far as the application program providesany one function of wordprocessing, spreadsheet, photo-retouch, draw,paint, presentation, and text editing. In other words, any applicationcan be adopted as far as it has a print instruction function to the OS.

Generally, when document data, image data, or the like created by anapplication is printed by the application, a predetermined interface(generally called GDI) provided by an OS (Operating System) is utilized.To print created data, the application 101 transmits an output command(called a GDI function) which is determined in advance for the outputmodule of the OS providing the interface and has an OS-dependent format.A device driver receives the output command, converts the command into aformat processible by an output device such as a printer, and outputsthe converted command (called a DDI function). Since data converted bythe device driver changes depending on the type of output device, themanufacturer, the model, or the like, a device driver is provided foreach output device. The OS converts a command by using the device driverto generate print data, and combines the print data by JL (Job Language)to generate a print job. When the OS is Microsoft Windows®, the outputmodule is a GDI (Graphical Device Interface) module.

An electronic document writer 102 according to the first embodiment isan improvement of the above-mentioned device drivers, and is a softwaremodule provided to implement the document processing system. Theelectronic document writer 102 does not target a specific output device,and converts an output command into a format processible by abookbinding application 104 or printer driver 106 (to be describedlater). The format (to be referred to as an “electronic document format”hereinafter) converted by the electronic document writer 102 is notparticularly limited as far as each document page can be expressed by adetailed format. Practical standard formats are, for example, the PDFformat by Adobe Systems, and the SVG format.

When the application 101 utilizes the electronic document writer 102,the electronic document writer 102 is designated (selected) as a devicedriver used for output, and then caused to execute printing. Theelectronic document writer 102 and a general printer driver do not makeany difference to the application 101. The electronic document writer102 saves a result processed in the above-described manner as a file 103in a proper folder (directory).

An electronic document file created by the electronic document writer102 does not have a complete electronic document file format to bedescribed in the first embodiment. For this reason, the electronicdocument writer 102 is designated as a device driver by the bookbindingapplication 104, and executes conversion of application data into anelectronic document file under the management of the bookbindingapplication 104 (details of which will be described later). Thebookbinding application 104 completes a new incomplete electronicdocument file generated by the electronic document writer 102 as anelectronic document file having the following format. In case ofnecessity to definitely discriminate these files, a file created by theelectronic document writer 102 will be called an electronic documentfile, and an electronic document file given a structure by thebookbinding application will be called a book file. If these files neednot be particularly discriminated, a document file generated by anapplication, an electronic document file, and a book file are calleddocument files (or document data).

As described above, the electronic document writer 102 is designated asa device driver, and the general application 101 prints the data.Application data is converted into an electronic document format inpages (to be referred to as “logical pages” or “document pages”hereinafter) defined by the application 101. The converted data isstored as the electronic document file 103 in a storage medium such as ahard disk.

It should be noted that the electronic document writer according to thefirst embodiment does not make any difference from a printer driverprepared by a general printer manufacturer to the application, asdescribed above. More specifically, a data file of a format processibleby the bookbinding application to be described in the first embodimentcan be obtained via the electronic document writer 102 according to thefirst embodiment as far as the application has a printout functionregardless of an existing application program or an unknown applicationwhich will come into the market in the future.

The bookbinding application 104 according to the first embodimentprovides the user with a function of reading and editing the electronicdocument file or book file 103. The editing function of the bookbindingapplication 104 according to the first embodiment is not a detailedfunction of, e.g., editing a text, unlike a wordprocessor, but afunction of editing a chapter or book structure (to be described later)made up of pages as a minimum unit. Detailed editing such as a change ofa font in a text or insertion of a character can be performed again byan original accustomed application.

To print the book file 103 edited by the bookbinding application 104,the bookbinding application 104 activates an electronic documentde-spooler 105. The electronic document de-spooler 105 is a programmodule which is installed in the computer together with the bookbindingapplication. The electronic document de-spooler 105 is used to outputdrawing data to a printer driver in printing a document (book file) usedby the bookbinding application. The electronic document de-spooler 105reads out a designated book file from the hard disk. To print each pagein a format described in the book file, the electronic documentde-spooler 105 generates an output command complying with the outputmodule of the OS described above, and outputs the command to the outputmodule (not shown). At this time, the driver 106 of a printer 107 usedas an output device is designated as a device driver. The output moduleconverts the output command received using the designated printer driver106 of the printer 107 into a device command interpretable by theprinter 107. The device command is transmitted to the printer 107, whichprints an image corresponding to the command.

Example of Hardware Configuration of Document Processing SystemAccording to First Embodiment

FIG. 2 is a block diagrams showing the hardware configuration of thedocument processing system according to the first embodiment.

In FIG. 2, the PC 100 comprises a CPU 201 which controls elementsconnected to a system bus 204 and controls the overall apparatus. TheCPU 201 executes a document processing program and various applicationsfor figures, images, characters, and tables (including spreadsheets andthe like). A ROM 203 stores a BIOS, boot program, basic font data, andvarious data. An external memory 211 (hard disk device or the like)stores an OS, various programs (general application program 101,electronic document writer 102, bookbinding application 104, electronicdocument de-spooler 105, and printer driver 106 shown in FIG. 1) to bedescribed in the first embodiment, font data, and data files created byvarious applications. A RAM 202 functions as a main memory, work area,or the like for the CPU 201. When the apparatus is powered on, the CPU201 imports an OS from the external memory 211 to the RAM 202 inaccordance with a boot program in the ROM 203, then imports variousapplications and programs to be described in the first embodiment, andfunctions as an information processing apparatus.

A keyboard controller (KBC) 205 controls a key input from a keyboard 209or a pointing device (not shown). A CRT controller (CRTC) 206 controlsthe display of a CRT display (CRT) 210. A disk controller (DKC) 207controls access to the external memory 211 which stores a boot program,various applications, font data, user files, edited files, a printercontrol command generation program (to be referred to as a printerdriver hereinafter), and the like. A printer controller (PRTC) 208 isconnected to the printer 107 via a bidirectional interface (interface)21, and executes a communication control process with the printer 107.An NC (Network Controller) 212 communicates with a network, and executesa communication control process with another device connected to thenetwork.

The CPU 201 executes, e.g., an outline font rasterization process to adisplay information RAM set in the RAM 202, and enables WYSIWYG on theCRT 210. The CPU 201 opens various registered windows and executesvarious data processes on the basis of commands designated on the CRT210 with a mouse® cursor (not shown) or the like. When the user executesprinting, he/she opens a print setting window, and can perform settingof a printer and setting of a printing process method to the printerdriver that includes selection of a print mode.

The printer 107 comprises a CPU 312 which controls the entire printer.The CPU 312 outputs an image signal as output information to a printingunit (printer engine) 317 connected to a system bus 315 on the basis ofa control program stored in a program ROM within a ROM 313 or a controlprogram stored in an external memory 314. The program ROM within the ROM313 stores, e.g., the control program of the CPU 312. A font ROM withinthe ROM 313 stores, e.g., font data used to generate the outputinformation. A data ROM within the ROM 313 stores, e.g., informationused in the host computer for a printer having no external memory 314such as a hard disk.

The CPU 312 can communicate with the host computer via an input unit318, and notify the host computer 100 of internal printer information orthe like. A RAM 319 functions as a main memory, work area, or the likefor the CPU 312, and the memory capacity can be expanded by an optionalRAM connected to an expansion port (not shown). The RAM 319 is used asan output information mapping area, environment data storage area,NVRAM, or the like. Access to the external memory 314 such as a harddisk (HD) or IC card is controlled by a memory controller (MC) 320. Theexternal memory 314 is connected as an option, and stores font data,emulation programs, form data, and the like. Reference numeral 321denotes an operation panel described above which is equipped withoperation switches, an LED display, and the like.

The number of external memories 314 is not limited to one, and aplurality of external memories 314 may be arranged. A plurality ofexternal memories which store an option card and a program forinterpreting the printer control languages of different language systemsin addition to built-in fonts may be connected. Further, an NVRAM (notshown) may be adopted to store printer mode setting information from theoperation unit 321.

<Example of Format of Electronic Document Data>

Before referring to details of the bookbinding application 104, the dataformat of a book file will be explained. The book file has athree-layered structure similar to a paper-medium book. The upper layeris called a “book”, resembles one book, and defines the attributes ofthe entire book. The intermediate layer corresponds to a chapter in thebook, and is also called a “chapter”. As for each chapter, itsattributes can be defined. The lower layer is a “page”, and correspondsto each page defined by an application program. As for each page, itsattributes can be defined. One book may contain a plurality of chapters,and one chapter may contain a plurality of pages.

FIG. 3 is a view schematically showing an example of the book fileformat. A book, chapter, and page in the book file of this example arerepresented by corresponding nodes. One book file contains one book. Thebook and chapter are a concept for defining a book structure, andcontain, as entities, defined attribute values and links to lowerlayers. The page has, as entities, data of each page output from anapplication program. The page contains a document page entity (documentpage data) and a link to each document page data in addition to anattribute value. Note that a print page to be output to a paper mediummay contain a plurality of document pages. This structure is displayednot by a link, but by attributes in book, chapter, and page layers.

The book file shown in FIG. 3 need not be one completed book, but can berepetitively edited. Thus, “book” is generalized as a “document” in FIG.3.

Document information 401 is defined at the top. The document information401 can be roughly divided into three parts 402 to 404. The documentcontrol information 402 holds information such as the path name in thefile system of a document file. The document setting information 403holds layout information such as the page layout, and function settinginformation of a printing apparatus such as stapling, and corresponds tobook attributes. The chapter information list 404 holds as a list a setof chapters which form a document. The list holds chapter information405.

The chapter information 405 can also be roughly divided into three parts406 to 408. The chapter control information 406 holds information suchas the chapter name. The chapter setting information 407 holdsinformation on the page layout and stapling unique to the chapter, andcorresponds to chapter attributes. By holding setting information foreach chapter, a document having a complicated layout can be created sothat the first chapter has a 2 UP layout and the remaining chapters havea 4 UP layout. The page information list 408 holds as a list a set ofdocument pages which form each chapter. The page information list 408designates page information data 409. Note that “2 UP” means a layout oftwo pages created by a general application on one page created by thebookbinding application 104 according to the first embodiment. “4 UP”means a state in which 4-page data created by a general application arelaid out in 2×2 on one page created by the bookbinding application.“Nup” means a state in which n logical pages are laid out on one printsheet.

In FIG. 3, one logical page subjected to printing via the electronicdocument writer 102 by the application program corresponds to one pageby the bookbinding application 104. For example, for 4 UP, a page datalink 412 stores link information of four logical pages.

The page information data 409 is also roughly divided into three parts410 to 412. The page control information 410 holds information such as apage number displayed at the tree. The page setting information 411holds information such as the page rotation angle and page layoutposition information, and corresponds to document page attributes. Thepage link information 412 is document data corresponding to a page. Inthis example, the page information 409 does not directly have documentdata, but has only the link information 412. Actual document data isheld by a page data list 413.

FIGS. 4A and 4B show an item list of settable book attributes (documentsetting information 403). In general, as for an item which can bedefined repetitively on lower and upper layers, the attribute value ofthe lower layer is preferentially adopted. In other words, setting itemson the upper layer are reflected in items whose attributes are notparticularly set on the lower layer. As for an item which is seteffective only for a book attribute, a value defined in the bookattribute is effective throughout the book. In this example, when anattribute item has different settings on lower and upper layers, whichof the settings is given priority can be selected (to be describedlater). Each item shown in FIGS. 4A and 4B does not correspond to oneconcrete item, but may contain a plurality of relevant items.

Items unique to the book attribute are six items: printing method,details of bookbinding, front/back cover, index paper, inserting paper,and chapter segmentation. These items are defined throughout the book.As the printing method attribute, three values, i.e., single-sidedprinting, double-sided printing, and bookbinding printing can bedesignated. Bookbinding printing is a method of printing in a formatwhich allows bookbinding by bundling a separately designated number ofpaper sheets, folding the bundle into two, and binding the bundle. Asthe detailed bookbinding attribute, the opening direction and the numberof paper sheets to be bundled can be designated when. bookbindingprinting is designated.

The front/back cover attribute includes designation of adding papersheets serving as front and back covers when an electronic document filecombined as a book is printed, and designation of contents to be printedon the added paper sheets. The index paper attribute includesdesignation of inserting tabbed index paper separately prepared in aprinting apparatus for chapter segmentation, and designation of contentsto be printed on the index (tabbed) portion. This attribute becomeseffective when a printing apparatus for use is equipped with an inserterhaving an inserting function of inserting a paper sheet preparedseparately from a print sheet into a desired position, or when aplurality of sheet cassettes can be used. This also applies to theinserting paper attribute.

The inserting paper attribute includes designation of inserting a papersheet fed from an inserter or sheet feed cassette for chaptersegmentation, and designation of a sheet feed source when insertingpaper is inserted.

The chapter segmentation attribute includes designation of whether touse a new paper sheet, use a new print page, or do nothing particular ata chapter break. In single-sided printing, the use of a new paper sheetand the use of a new print page are the same. In double-sided printing,successive chapters are not printed on one paper sheet if “the use of anew paper sheet” is designated, but may be printed on the obverse andreverse of one paper sheet if “the use of a new print page” isdesignated.

FIG. 5 shows a list which can be set by the chapter attribute (chaptersetting information 407), and FIG. 6 shows a list which can be set bythe page attribute (page setting information 411). The relationshipbetween the chapter attribute and the page attribute is the same as thatbetween the book attribute and the lower layer attribute.

As for the chapter attribute, there is no item unique to the chapter,and all items overlap those of the book attribute. In general, if thedefinition of the chapter attribute is different from that of the bookattribute, a value defined by the chapter attribute precedes. In thisexample, however, whether to preferentially adopt the attribute value ofa lower layer can be selected (to be described later).

Items common to only the book and chapter attributes are five items:paper size, paper orientation, Nup printing designation,enlargement/reduction, and delivery method. As described above, the Nupprinting designation attribute is an item for designating the number ofdocument pages contained in one print page. Layouts which can bedesignated are 1×1, 1×2, 2×2, 3×3, 4×4, and the like. The deliverymethod attribute is an item for designating whether to staple dischargedpaper sheets. The effectiveness of this attribute depends on whether aprinting apparatus for use has a stapling function.

Items unique to the page attribute are a page rotation attribute, zoom(or resizing), layout designation, annotation, and page separation. Thepage rotation attribute is an item for designating the rotation anglewhen a document page is laid out on a print page. The zoom attribute isan item for designating the resizing ratio of a document page. Theresizing ratio is designated based on a virtual logical page regionsize=100%. The virtual logical page region is a region occupied by onedocument page when document pages are laid out in accordance with Nupdesignation or the like. For example, the virtual logical page region isa region corresponding to one print page for 1×1, and a region obtainedby reducing each side of one print page to about 70% for 1×2.

Attributes common to the book, chapter, and page are a watermarkattribute and header/footer attribute. The watermark is a separatelydesignated image or character string printed over data created by anapplication. The header/footer is a watermark printed at the upper orlower margin of each page. For the header/footer, items such as a pagenumber, and date and time which can be designated by variables areprepared. Contents which can be designated by the watermark attributeand header/footer attribute are common between the chapter and the page,but are different from those of the book. The book can set the watermarkand header/footer contents, and designate how to print a watermark orheader/footer throughout the book. To the contrary, the chapter and pagecan only designate whether to print a watermark or header/footer set bythe book on the chapter or page.

The configuration as a premise for the first embodiment, and the bookfile structure created by the bookbinding application have beendescribed. The bookbinding application according to the first embodimentwill be explained in more detail.

Example of Operation Sequence of Document Processing System According toFirst Embodiment

A sequence of creating a book file by the bookbinding application 104and electronic document writer 102 will be explained. Creation of a bookfile is realized as part of book file editing operation by thebookbinding application 104.

FIG. 7 is a flowchart showing a sequence when the bookbindingapplication 104 opens a book file.

Whether a book file to be opened is one to be newly created or anexisting one is determined (step S701). If the book file is one to benewly created, a book file containing no chapter is newly created (stepS702). In the example shown in FIG. 3, the newly created book file hasonly a book node 301 which does not have any link to a chapter node. Thebook attribute is set by the user according to need, but defaultsettings are applied to a new document. A UI (User Interface) window forediting the new book file is displayed (step S704). FIG. 8 shows anexample of a UI window when a book file is newly created. In this case,the book file does not have any substantial content, and a UI window 800does not display anything.

If the book file is an existing one, the user designates the book file.Upon designation, the book file is opened (step S703), and a UI (UserInterface) window is displayed in accordance with the structure,attributes, and contents of the book file. FIG. 9 shows an example ofthe UI window. A UI window 900 has a tree portion 901 representing abook structure, and a preview portion 902 displaying a state to beprinted. The tree portion 901 displays chapters contained in the bookand pages contained in each chapter so as to present a tree structure asshown in FIG. 3. Pages displayed at the tree portion 901 are documentpages. The preview portion 902 displays reduced print page contents. Thedisplay order reflects the book structure.

Application data converted into an electronic document file by theelectronic document writer 102 can be added as a new chapter to the openbook file (also including a newly created book file). This function iscalled an electronic document import function. The electronic documentis imported to the book file newly created by the sequence of FIG. 7,giving an entity to the book file. This function is activated bydragging and dropping a desired application data file onto the window ofFIG. 8 or 9 by using a GUI prepared by an OS.

The type of file to be dragged and dropped does not matter as far as thefile is a data file created by a general application program. Theapplication which creates the data file is assumed to be installed inthe PC 100. When the structure (format) of a file to be dragged anddropped is laid open to the public, for example, the file is ageneral-purpose data file with an extension “jpg”, “bmp”, “tiff”, “pdf”,or the like, the file can be interpreted by the bookbinding application104 of the first embodiment, and the application which creates the fileis not always necessary. The general-purpose file is limited to a filehaving a data structure supported by the bookbinding application 104.For a data file having another structure, an application which createsand edits the data file must be installed.

FIG. 10 is a flowchart showing an example of an electronic documentimport sequence.

In step S801, it is determined whether the dragged/dropped file is apredetermined general-purpose image file as described above, i.e., afile which can be directly interpreted by the bookbinding applicationaccording to the first embodiment.

If the file is determined to be an image file interpretable by thebookbinding application, the process advances to step S802 to add thefile as a page to a book during editing by the bookbinding application.

Since no chapter exists while the bookbinding application creates a newbook file, a new chapter is created, and the file is added as a pagebelonging to the chapter. As for page attributes in adding the file,attributes common to the attributes of an upper layer are given theattribute values of the upper layer, and attributes which are defined inapplication data and inherited to an electronic document file are givenvalues defined in the application data. For example, when Nupdesignation is defined in application data, the page inherits thisattribute value.

If it is determined in step S801 that the data file cannot be directlyinterpreted by the bookbinding application, for example, if the datafile is determined to have been created by a wordprocessing application,spreadsheet application, or unknown application, the process advances tostep S803 to create an electronic document file.

More specifically, an application program which creates thedragged/dropped data file is activated, the electronic document writer102 is designated as a printout device driver, and the application datais printed out. As a result, an electronic document file is generated,as shown in FIG. 1.

The process then advances to step S804 to add the generated electronicdocument file as a chapter to a book opened by the bookbindingapplication according to the first embodiment.

In this way, a new book file is created, or a new chapter or page isadded. In this example, however, whether to preferentially adopt theattribute value of a lower layer can be selected (to be describedlater).

FIG. 11 is a flowchart showing the process in step S803 of FIG. 10,i.e., a sequence of generating an electronic document file by theelectronic document writer 102 from the dragged/dropped application datafile.

In order to save a new electronic document file, an empty file iscreated in the external memory 211 and opened (step S901). Anapplication corresponding to a designated application data file isactivated, and the electronic document writer 102 is set as a devicedriver to transmit an output command to an OS output module. When the OSis Microsoft Windows®, an application program which creates the datafile can be specified from, e.g., the extension of the dragged/droppeddata file by searching the registry file.

The output module converts the received output command into data of anelectronic document format by the electronic document writer 102, andoutputs the converted data (step S902). The output destination is theelectronic document file opened in step S901. Whether all designateddata have been converted is determined (step S903), and if YES in stepS903, the electronic document file is closed (step S904). The electronicdocument file generated by the electronic document writer 102 is a filecontaining document page data entities shown in FIG. 3, and has a formatinterpretable by the bookbinding application according to the firstembodiment.

For example, when a data file for a wordprocessing application isconverted into an electronic document file by drag & drop, one chaptercontaining a plurality of pages is created in the electronic documentfile. When an unnecessary page exists in the created chapter, thebookbinding application issues an instruction to delete the page,leaving only necessary pages.

By repeating the above process for necessary application data files, achapter is created for each imported file, and a page is created belowthe chapter. From this, it is understood that a book containing pagescreated by different applications can be created.

<Example of Editing Book File>

As described above, a book file can be created from application data.Chapters and pages in the generated book file can be edited as follows.

-   -   (1) New document    -   (2) Delete    -   (3) Copy    -   (4) Cut    -   (5) Paste    -   (6) Move    -   (7) Change chapter name    -   (8) Reassign page number/name    -   (9) Insert cover    -   (10) Insert inserting paper    -   (11) Insert index paper    -   (12) Page layout of each document page

In addition, an operation of canceling executed editing operation, andan operation of restoring canceled operation can be performed. Theseediting functions enable editing operations such as consolidation of aplurality of book files, rearrangement of chapters and pages within abook file, delete of chapters and pages within a book file, layoutchange (to 2 UP or the like) of a document page, and insertion ofinserting paper and index paper. By these operations, operation resultsare reflected in attributes shown in FIGS. 4 to 6 or in the structuresof the book file. For example, a blank page is inserted to a designatedportion by an operation of newly adding a blank page. The blank page isprocessed as a document page. If the layout of a document page ischanged, the change contents are reflected in attributes such as theprinting method, Nup printing, front/back cover, index paper, insertingpaper, and chapter segmentation. Also, a page in a given chapter can bemoved to another chapter (page is dragged and dropped to anotherchapter).

A display and operation example in editing will be described in detailbelow.

<Example of Output of Book File>

The ultimate goal of a book file created and edited in the above manneris to print out the file. If the user selects a file menu from the UIwindow 900 of the bookbinding application shown in FIG. 9 and selectsprinting from this menu, the book file is then printed out by adesignated output device. At this time, the bookbinding application 104creates a job ticket from a currently open book file, and transfers thejob ticket to the electronic document de-spooler 105. The electronicdocument de-spooler 105 converts the job ticket into an OS outputcommand, e.g., a Windows® GDI command, and transmits the command to anoutput module, e.g., GDI. The output module generates a commandcomplying with a device by the designated printer driver 106, andtransmits the command to the device.

The graphic engine of the output module (not shown) imports the printerdriver 106 prepared for each printing apparatus from the external memory211 to the RAM 202, and sets the output to the printer driver 106. Theoutput module converts the received GDI (Graphic Device Interface)function into a DDI (Device Driver Interface) function, and outputs theDDI function to the printer driver 106. The printer driver 106 convertsthe received output into a control command such as a PDL (PageDescription Language) command recognizable by the printer on the basisof the DDI function received from the output module. The convertedprinter control command passes through a system spooler imported by theOS to the RAM 202, and is output as print data to the printer 107 viathe interface 21.

The job ticket is data having a structure whose minimum unit is adocument page. The structure of the job ticket defines the layout of adocument page on a paper sheet. One job ticket is issued for one printjob. The document node is set at the top of the structure, and definesthe attribute of the whole document such as double-sidedprinting/single-sided printing. This node is accompanied with a papernode containing attributes such as the identifier of paper for use anddesignation of a feed port in the printer. Each paper node isaccompanied with a sheet node which is printed on the paper. One sheetcorresponds to one paper sheet. A print page (physical page) belongs toeach sheet. One physical page belongs to one sheet in single-sidedprinting, and two physical pages belong to one sheet in double-sidedprinting. A document page to be laid out on a physical page belongs tothe physical page. The physical page attribute contains a document pagelayout.

FIG. 12 shows an example of the data structure of a job ticket. In printdata, a document is formed from a set of sheets, and each sheet isformed from two, upper and lower surfaces. Each surface has a region(physical page) for laying out a document, and each physical page isformed from a set of document pages serving as minimum units. Referencenumeral 1101 denotes data corresponding to a document. The data 1101 ismade up of data on a whole document and a list of sheet informationforming the document. Sheet information 1102 is formed from informationon a sheet such as the sheet size, and a list of surface informationlaid out on the sheet. Surface information 1103 is formed from dataunique to a surface, and a list of physical pages laid out on thesurface. Physical page information 1104 is formed from information suchas the size and header/footer of a physical page, and a list of documentpages which form the physical page.

The electronic document de-spooler 105 converts the job ticket into anoutput command to an output module.

<Example of Preview Display Contents>

As described above, when a book file is opened by the bookbindingapplication, the user interface window 900 shown in FIG. 9 is displayed.The tree portion 901 displays a tree representing the structure of theopen book (to be referred to as a “book of interest” hereinafter). Atthe preview portion according to the first embodiment, three displaymethods are prepared in accordance with designation by the user. Thefirst method is a mode called a document view which directly displaysdocument pages. In the document view mode, the contents of documentpages belonging to the book of interest are reduced and displayed. Thedisplay of the preview portion does not reflect any layout. The secondmethod is a printing view mode. In the printing view mode, the previewportion 902 displays document pages in a format which reflects thelayout of them. The third method is a simple printing view mode. In thesimple printing view mode, the contents of document pages are notreflected in the display of the preview portion, but only the layout isreflected. Switching between these display modes can be designated froma pull-down menu displayed by clicking “view” on the menu bar of thebookbinding application.

<Another Example of Configuration of Document Processing System>

The document processing system according to the first embodiment is of astand-alone type. A server-client system as an extension of thestand-alone system also creates and edits a book file by almost the sameconfiguration and sequence. A book file and printing process are managedby the server.

FIG. 13 is a block diagram showing the configuration of a server-clientdocument processing system.

The client document processing system is constituted by adding to thestand-alone system a DOMS (Document Output Management Service) driver109 serving as a client module, a DOMS print service module 110, and aDS (Document Service) client module 108. A client document processingsystem 1200 is connected to a document management server 1201, printcentral control server 1202, and print server 1203. These servers aregenerally connected to the client document processing system via anetwork. When the servers also function as clients, they are connectedby interprocess communication which simulates communication betweennetworks. The document management server 1201 and print central controlserver 1202 are connected to the client in FIG. 13, but only either onemay exist on the network. If the connected server is the documentmanagement server, a document management server-client system 1201SCincluding a client module is added to the stand-alone documentmanagement system. If the connected server is the print central controlserver 1202, a printing management server-client system 1202SC includinga client module is added.

The document management server 1201 stores a book file created andedited by the bookbinding application 104. To manage a book file by thedocument management server 1201, the book file is saved in a database1211 of the document management server 1201 instead of or in addition tothe local HD of a client PC. Save and read of a book file between thebookbinding application 104 and the document management server 1201 aredone via the DS client 108 and a DS core 1212.

The print central control server 1202 manages printing of a book filestored in the client document management system 1200 or documentmanagement server 1201. A print request from the client is transmittedto a DOMS WG server module 1221 of the print central control server 1202via the DOMS driver 109 and DOMS print service module 110. To print bythe printer of the client, the print central control server 1202transfers electronic document data to the electronic document de-spooler105 via the DOMS print service module 110 of the client. To print by theprint server 1203, the print central control server 1202 transmitselectronic document data to a DOMS print service module 1231 of theprint server 1203. For example, the print central control serverexecutes security check on the qualification of a user who has issued aprint request for a saved book file, or saves the printing process log.In this fashion, the document processing system can be implemented asboth a stand-alone system and client-server system.

Example of Editing Operation of Document Processing System According toFirst Embodiment

FIG. 9 shows the operation window of the bookbinding application 104.The bookbinding application can set the function of a printing apparatussuch as stapling, in addition to editing such as a change of the pageorder of a document, copying, and delete. The bookbinding applicationcan cause a designated printing apparatus to print. A tree viewrepresenting a document structure is displayed in the left region ofFIG. 9. A document is formed from a set of chapters, and each chapter isformed from a set of document pages. The print preview of each page isdisplayed in the right region of FIG. 9.

Example of Attribute Setting of Document Processing System According toFirst Embodiment

FIG. 14 shows a “Detailed Setting for Document” window 1400 of thebookbinding application 104. The setting window of FIG. 14 exists foreach of folders shown in FIG. 41 (to be described later), enablessettings for each folder, and can also be used to change the settings ofa given folder. By changing the settings of a folder, folders before andafter change can be utilized as different folders.

This window allows displaying/setting the “document setting information403”. This window is activated from the “Detailed Setting for Document”menu of a Print Form menu in the application operation window of FIG. 9or a “Detailed Setting for Document” button on the tool bar. The“Detailed Setting for Document” window is a window for settingattributes which influence a whole document. This window is formed fromfour sheets Page Setup, Decoration, Edit, and Paper Source. FIG. 14shows a state in which the Page Setup sheet is displayed. In the PageSetup sheet, settings mainly concerning the layout can be done. Settingssuch as the paper size, orientation, and N-page printing can bedesignated. This window has check box controls 1401 and 1402 for thezoom. The zoom means the resizing ratio of a document page, as describedabove.

FIG. 15 shows a “Detailed Setting for Chapter” window 1500 of thebookbinding application 104. The setting window of FIG. 15 is used tochange the settings of a chapter generated by the bookbindingapplication.

This window allows displaying/setting the “chapter setting information407” in FIG. 3. This window is activated from the “Detailed Setting forChapter” menu of a Print Form menu in the application operation windowof FIG. 9 or a “Detailed Setting for Chapter” button on the tool bar.The “Detailed Setting for Chapter” window is a window for settingattributes unique to a chapter. This window is formed from four sheetsPage. Setup, Decoration, Edit, and Paper Source. FIG. 15 shows a statein which the Page Setup sheet is displayed. In the Page Setup sheet,settings mainly concerning a layout unique to each chapter can be done.Settings such as the paper size, orientation, and Nup page printing canbe designated. “Follow Book Attribute” check box controls 1501, 1502,and 1503 are arranged for repetitive setting items between “DetailedSetting for Document” and “Detailed Setting for Chapter”. For an itemgroup whose check box is checked, the setting values of the document(book) are applied to the chapter. FIG. 16 shows a case in which thecheck box is not checked. Settings unique to a chapter can be classifiedinto two types: setting items held by only a chapter, and setting itemswhose setting values different from those of the document in the upperlayer are held in the chapter layer.

FIG. 16 shows a state in which the check box controls 1501 and 1502 of“Detailed Setting for Chapter” in FIG. 15 are not checked. In this case,even if the whole document uses A3 paper, pages which constitute thischapter use A4 paper. As for the layout, even if the document designates1 page per sheet, the chapter designates a layout of 4 pages per sheet(4 UP). “MS Arrange” is checked, and the setting values of the documentin the upper layer are employed as those of the chapter.

FIG. 17 shows a “Detailed Setting for Page” window 1700 of thebookbinding application 104.

This window allows displaying/setting the “page setting information411”. This window is activated from the “Detailed Setting for Page” menuof the Print Form menu in the application operation window of FIG. 9 ora “Detailed Setting for Page” button on the tool bar. The “DetailedSetting for Page” window is a window for setting attributes unique toeach page. This window is formed from two sheets Page Setup and Edit.FIG. 17 shows a state in which the Page Setup sheet is displayed. In thePage Setup sheet, settings mainly concerning a layout unique to eachpage can be done, and settings such as the rotation angle andenlargement/reduction ratio in laying out a document page can bedesignated. A “Follow Chapter Attribute” check box control 1701 isarranged for repetitive setting items between “Detailed Setting forChapter” and “Detailed Setting for Page”. For an item whose check box ischecked, the setting value of the chapter is applied to the page. FIG.18 shows a case in which the check box is not checked.

FIG. 18 shows a state in which Page Rotation setting is changed in“Detailed Setting for Page” of FIG. 17. The control 1701 exhibits asetting of rotating and arranging a document page with the upper portionof the page oriented left in laying out the document page. Since thisitem is not provided with any “Follow Chapter Attribute” check box andis not a repetitive setting item in the chapter and document, thesetting displayed in this window is always adopted as the setting valueof the page. When the control 1701 is set, for example, the “Arrange”item is a repetitive setting item in the chapter, and the setting valueof the chapter is used as that of the page. When “Follow Book Attribute”is checked in the “Arrange” item of the chapter, the setting value ofthe document in the upper layer is used as that of the chapter, and thusthe setting value of the document is used as that of the page. When the“Arrange” item is not checked in the chapter, the chapter has a uniquesetting value, and the setting value unique to the chapter is used asthe setting value of the page.

Check box control information set in the setting window may be held in adedicated region, but is desirably held as one attribute in the settinginformation shown in FIG. 3. In this case, regions for holding check boxcontrol information are added to the lists of FIGS. 5 and 6.

Example of Document Editing Display of Document Processing SystemAccording to First Embodiment

FIG. 19 shows an example of the display format of the application when asetting item which is repeated in an upper layer does not use a settingvalue in the upper layer, i.e., when the check box control 1501 or 1701is not checked.

In the example of FIG. 19, a document is formed from two chapters, andeach chapter has document data of nine pages. FIG. 19 shows a displayexample when the layout of the first chapter is 4UP (to be also referredto as 4in1 hereinafter) and rotation is designated for the first page ofthe second chapter (10th page of the whole document). In the rightpreview, four document pages are laid out on each of the first to thirdpages. On the fourth page, a character “A” is rotated. A display formatfor settings unique to a chapter and page at a tree view will beexplained. An icon 1901 corresponding to the first chapter changes toexhibit that this chapter has a unique setting. An icon 1902corresponding to the first page of the second chapter also changes toexhibit that this page has a special setting.

It should be noted that pages in each chapter, e.g., four logical pagescontained in a 4 UP page do not care the type of application such as awordprocessing application or spreadsheet application. In other words,each page which forms a document in the first embodiment may be createdby any application, and pages formed by different applications maycoexist.

As described above, the first embodiment prepares a program having theconfiguration as shown in FIG. 1. A document in which pages based onfiles created by respective applications coexist can be created, and thelayout and the like can be freely changed regardless of the type andmanufacturer of an application program which creates each page forming a“document” described in the first embodiment. This can simplify worksuch as reassignment of page numbers in printing.

In the above configuration, however, various application data fileswhich form a “document” must be stored in the external memory 211. Also,when one “document” is formed from two chapters, the first chapter ismade up of pages created by a wordprocessing application, and the secondchapter is made up of pages created by a spreadsheet application, thesetwo applications must be installed in the PC 100.

In some cases, pages which form one book may be created by a pluralityof users with their PCs. For example, only a wordprocessing applicationis installed in a PC (to be referred to as a PC-A) used by a user whotakes charge of the first chapter, whereas only a spreadsheetapplication is installed in a PC (to be referred to as a PC-B) used by auser who takes charges of the second chapter. It is difficult for thefirst embodiment to cope with this situation. Installation of the sameapplication program in all PCs requires a high licensing fee. The firstembodiment also solves this problem, and the solution will be explainedbelow.

<Automatic Process Upon Storing Image Data to Object>

The following description assumes that the PC 100 according to the firstembodiment is connected to a network and the network system has aconfiguration as shown in FIG. 40.

FIG. 40 is a view showing the network configuration according to thefirst embodiment. In FIG. 40, reference numerals 110, 120, and 125denote general-purpose information processing apparatuses such aspersonal computers (to be simply referred to as PCs hereinafter) whichhave the same arrangement as that of the PC 100 described in the firstembodiment. Reference numeral 130 denotes a multifunction apparatushaving a copying function, network scan function, and network printerfunction. Reference numeral 140 denotes a file server; and 135, anetwork printer. These apparatuses are connected to a network 150serving as a communication line, and can communicate with each other.FIG. 40 shows an example, the numbers of PCs, multifunction apparatuses,printers, and file servers are not limited, and other devices may existon the network.

Since the multifunction apparatus 130 has the network scanner function,as described above, the apparatus 130 has a function of, when a documentis scanned and a desired destination on the network (resource address onthe network) is designated, converting the scanned image into a file ofa predetermined format (PDF, MTIFF, or the like) and transmitting thefile. The multifunction apparatus 130 is well known, and for example, iRseries products are available from Canon. A document scanned by themultifunction apparatus 130 can be provided as a printout by theprinters 107 and 135 and the multifunction apparatus 130 in accordancewith a print instruction from a general application executed in the PCs100, 110, 120, and 125, and the like.

Advantages of the first embodiment will be further explained on thebasis of the above configuration of the network system.

In the following description, the PC 100 will be exemplified. Thenetwork must be equipped with one or more shared folders, but forconvenience, a plurality of shared folders are set in the externalmemory 211 of the PC 100. That is, the PC 100 also functions as a fileserver. In the following description, a shared folder will beexemplified, but the embodiment is applicable to an object to whichimported data can be stored, and is not limited to the shared folder.

Further, a program which supervises storage of data into (one or more)shared folders runs in the PC 100. When the file configuration isdetermined to have changed, particularly when a file is determined to benewly stored, a process set for each shared folder is executed to importthe file into the bookbinding application.

That is, a shared folder in a general filer server merely receives,saves, and transmits a file in accordance with a request from a network.To the contrary, the PC 100 according to the first embodimentautomatically executes an additional process for a file stored in theshared folder. This folder is called a hot folder in the firstembodiment in order to discriminate it from a general shared folder. Thehot folder is a shared folder which executes a predetermined processwhen a data file is stored in the folder. The shared folder itselfsuffices to function as a file server, which is well known. In additionto this, the hot folder must comprise a function of periodicallychecking the state of a data folder in the shared folder, and performinga process corresponding to a state change. This supervisory program willbe called a hot folder program. The hot folder program is provided as apartial program which forms the bookbinding application 104. Variousconditions set in the hot folder are stored and held in the externalmemory 211.

FIG. 41 is a view schematically showing the flow of a data file and therole of each program when a hot folder according to the first embodimentis adopted.

In FIG. 41, reference numerals 4001 and 4002 denote hot folders; 4010, atemporary folder used to transfer a file to the bookbinding application104; and 4011, a backup folder. These folders are ensured in theexternal memory 211 of the PC 100. The hot folders 4001 and 4002 can beset via the setting window shown in FIG. 14, and a plurality of folders(first folder, second folder, . . . ) having different settings arediscriminated and displayed.

The number of set hot folders is not limited and can be assigneddifferent attributes, details of which will be apparent from thefollowing description. In FIG. 41, the hot folder 4001 is set so thatpages in a stored file are laid out in 4in1 (4 UP) and skew correctionis performed. The hot folder 4002 is set so that 2in1, black pointremoval, creation of a backup, and the like are performed. Note thatskew correction is rotation correction when document feeding is abnormalin scanning a document, and a document is skewed and scanned. Blackpoint removal is a process of removing an isolated black dot appearingas noise in a scanned image.

In FIG. 41, a document bundle 4100 is set on the multifunction apparatus130 on the network and scanned by designating the hot folder 4001 as atransfer destination, and an image format of a multi-page type(including a plurality of pages) such as PDF or MTiFF is designated asthe data format. The image of each page of the scanned document bundle4100 is stored as one file 4100′ in the hot folder 4001. Similarly, whena document bundle 4101 is set and scanned by designating the hot folder4002 as a transfer destination, the image of each page is stored as afile 4101′ in the hot folder 4002.

A hot folder program 4200 supervises whether new files are stored in thehot folders 4001 and 4002. If the hot folder program 4200 determinesthat new files are stored, the hot folder program 4200 executes anaction program 4300 in order to perform processes set in the hot folders4001 and 4002, and stores, in the temporary folder 4010, data files4100″ and 4101″ interpretable by the bookbinding application 104. Forexample, 4in1 (4 UP), skew correction, and the like are set in the hotfolder 4001. After skew correction is done, the 4in1 attribute isgenerated, and the result is stored in the temporary folder 4010. Also,2in1, black point removal, and backup are set in the hot folder 4002,and a copy of the file 4101′ stored in the hot folder 4002 is stored inthe backup folder 4011. Then, the black point removal process isperformed, and the 2in1 (2 UP) attribute is generated and stored in thetemporary folder 4010.

As a result, the temporary directory stores a file importable to thebookbinding application 104, and the bookbinding application 104 addsthe image of each page in the file as a new book, or a chaptercontaining a page or a page to an existing book.

Attributes set in the hot folder include the above-mentioned attributeswhich can be set in a book, chapter, and page. The above attributes aremerely an example. The action program is executed on the basis ofattributes set in a hot folder, and settable attributes are givenpriorities in advance. For this reason, for example, the skew correctionprocess is performed for the hot folder 4001 in FIG. 41 prior to the4in1 process.

When a file is stored in a hot folder, the attributes of the file areconverted into ones set in the hot folder, and then the file can beimported to the bookbinding application. This can eliminate the labor ofsetting the attributes of a book, chapter, and page by the bookbindingapplication.

The outline of the process using the hot folder according to the firstembodiment has been described, and details of the process will beexplained below.

<Description of Hot Folder Program>

FIG. 20 is a flowchart showing the process sequence of the hot folderprogram 4200.

In step S2001, it is determined whether a predetermined period haselapsed. If the hot folder program 4200 can receive from the OS anotification that the state of the folder has changed, determination maybe based on the notification instead of the predetermined period. If theOS is Microsoft Windows®, it is popular that the system issues a timerand the hot folder program 4200 receives a timer event from the OS at apredetermined time interval. In the first embodiment, the folder issupervised using the timer. The supervisory time interval can be set bythe user, and suffices to be several minutes.

If no predetermined period has elapsed in step S2001, the process justwaits until the predetermined time elapses. In other words, the hotfolder program 4200 transfers control to the system until the program4200 receives the next timer event. If the predetermined period haselapsed in step S2001, i.e., the hot folder program 4200 receives atimer event, the process advances to step S2002. Step S2002 andsubsequent steps form a loop for performing a process for all folders tobe supervised. If the number of folders to be supervised is one, stepS2002 is unnecessary. In the system of the first embodiment, however,many hot folders can be created, and the states of all hot folders arechecked using the loop. It is possible to activate a thread and processfor each hot folder to be supervised, and independently supervise hotfolders. Such variation is not greatly different from the process ofFIG. 20 in principle.

In step S2002, it is checked whether all folders to be supervised havebeen processed, and if a folder to be processed remains, the processadvances to step S2003. If all folders to be supervised have beenprocessed, the process returns to step S2001 to wait for the next timerevent.

In step S2003, one of unprocessed folders to be supervised is selected.When the user can set the priority of the process to a folder, orpriority is internally held, one folder is selected from a list offolders to be supervised in accordance with the priority. When nopriority is set, a folder is selected simply from the top of a list offolders to be supervised.

The process advances to step S2004 to check a state change of the folderselected in step S2003. Information on the number of files of theselected folder, the file name, a change of the file size, a change ofthe file configuration, and the like is acquired using the servicefunction of the OS. The acquired information on the folder state isexamined to determine whether a change which takes an action hasoccurred. When an action is taken upon a change of the fileconfiguration, information on the number of files in the folder, thesize of each file, the update date and time, and the access authoritywhich have been examined in response to the previous timer event is heldand compared with the currently acquired information.

The process advances to step S2005 to determine whether a change whichtakes an action has occurred as a result of examination in step S2004,more specifically, whether a new file has been stored. If no changewhich takes an action has occurred in step S2005, the process returns tostep S2002 and advances to the loop for the next folder to besupervised. If a change which takes an action is determined in stepS2005 to have occurred, the process advances to step S2006 to execute anaction designated for the folder. After the action is executed, theprocess returns to step S2002 to repeat the loop for the next folder.

<Process Entity of Hot Folder>

In order to execute the above-described hot folder program, anapplication for receiving a timer event must be executed. Because ofeasy control, the first embodiment installs the hot folder program as aresident application in addition to the bookbinding application 104.Needless to say, the resident application may be contained in thebookbinding application 104.

Activation methods for the resident application are classified into atype in which the resident application is incorporated as a service ofthe system and runs at the same time as activation of the OS, a type inwhich the resident application is automatically activated when the userlogs in to the system, and a type in which the user explicitly executesa process. In the first embodiment, the resident application isautomatically activated when the user logs in. In Windows®, the hotfolder application is automatically activated when the user logs in, byregistering the hot folder application in the user's start-up menu. Inthis case, it is easy to limit access in accordance with the userauthority and acquire system information because the application runs inaccordance with not the system authority but the authority of each loginuser.

FIG. 21 is a view showing an example of a task bar which is prepared bythe OS and displayed on the display window upon executing the residenthot folder program. Reference numeral 2101 in the tray of the task bardenotes an icon representing that the hot folder program according tothe first embodiment is in progress. The mouse® cursor is moved to theicon 2101, the mouse is right-clicked, and then a menu 2102 isdisplayed. FIG. 21 illustrates a right-clicked state. When “setting ofSend folder” in the menu is selected, a GUI (window) for setting anaction upon a state change of the folder is opened. When “end” isselected, the resident application ends. After the end, no hot folderprogram is executed, and the hot folder cannot be supervised. That is,even if the folder state changes, no action occurs. However, the usercan also manually activate the resident application.

<Setting of Automatic Import of File by Hot Folder>

Setting of the automatic import function for a file by a hot folder willbe explained. In automatic import, it is supervised whether a file hasbeen added to the hot folder. If a file has been added, an action ofimporting the file to the bookbinding application 104 is taken.

FIG. 22 is a view showing an example of an automatic import setting GUIfor a plurality of hot folders. This GUI is displayed when “setting ofSend folder” is selected from the right-click menu of the task bar shownin FIG. 21.

A list box 2201 displays a list of folders to be supervised. A folder tobe supervised can be given a name of an arbitrary character string inorder to facilitate identification.

A button 2202 is used to add a folder to be supervised. When this buttonis clicked, a GUI for setting a folder name, folder path, and the likeis displayed to allow the user to input necessary information. Thefolder path can be arbitrarily set by the user.

A button 2203 is used to change setting information of a folder selectedin the list box 2201. When this button is clicked, a GUI for changingfolder settings is displayed.

A button 2204 is used to exclude a folder selected in the list box 2201from folders to be supervised. When this button is clicked, a currentlyselected folder is deleted from the list box 2201. The folder is merelyexcluded from folders to be supervised, and is not deleted from the filesystem.

A button 2205 is used to select all folders to be supervised which aredisplayed in the list box 2201.

A button 2206 is used to cancel selection of a folder in the list box2201. When this button is clicked, selection of all folders is canceled.

As described above, the multifunction apparatus 130 can transmit ascanned document image to a desired network resource. Since it iscumbersome to input characters which form an address one by one throughthe multifunction apparatus 130, the PC 100 can register a resource(shared folder) subjected to transmission in the multifunction apparatus130. The multifunction apparatus 130 can determine a transmissiondestination by only selecting a network resource registered from eachPC.

A button 2207 in FIG. 22 is used to register and save information on aselected folder in the multifunction apparatus 130. When this button isclicked, a dialog box for designating a file name is opened, informationon a folder selected in the list box 2201 is processed into a data fileof a destination information format (format importable by themultifunction apparatus), and the data file is saved with a file namedesignated by the user.

FIGS. 23 to 25 show examples of GUIs displayed in adding and editing afolder to be supervised. As shown in FIGS. 23 to 25, these GUIs aredisplayed with tabs, and one of the GUIs in FIGS. 23 to 25 is displayedby selecting a desired tab. The GUI is displayed when the button 2202 or2203 in FIG. 22 is clicked.

FIG. 23 shows an example of a GUI which allows both setting of a folderto be supervised and input of destination information. Designation of afolder to be supervised requires only the folder path. However, the PChas a function of exporting destination information in order to registerthe location of a hot folder in the multifunction apparatus (which maybe a network scanner), as described above. For this purpose, necessaryitems must be set in destination information together with the folderpath.

Before a detailed description of FIG. 23, an example of the format ofdestination information is shown in FIG. 26.

The first three lines provide a comment. Items are listed subsequentlyto one blank line. The left side of a colon represents an item name, andthe right side represents an item value.

In FIG. 26, cn represents a destination name; cnread, the reading of thedestination; and url, a host PC name (the name of the PC 100 on thenetwork). These three items are subjected to BASE64 encoding. In FIG.26, path represents the name of a shared folder which stores scanneddata; username, the name of a user who is given write authority to thehost PC; and pwd, the password of the user. The user name and passwordare used to obtain access authority to the PC 100 in transmittingscanned data to a PC folder. In FIG. 26, protocol represents a protocolused to transfer a file, and ftp and smb can be selected; and accesscodeand obectclass, pieces of reserved information which are determined inaccordance with the protocol.

Referring back to FIG. 23, a text box 2301 is a control box forinputting the destination name cn. The destination name is also used asthe folder name of the list box 2201 in FIG. 22.

A text box 2302 is a control box for inputting the destination readingcnread. The destination reading cnread is not necessary to supervise afile, but is information necessary to create destination information. Atext box 2303 is a control box for inputting the host name url. A textbox 2304 is a control box for inputting the name “path” of a path to thefolder. A button 2305 is used to open a file dialog. A path designatedon the file dialog can be input as a path name in the text box 2304. Anexisting path need not always be designated because the PC has afunction of creating a new folder in the file dialog and a function ofcreating a path input in the text box 2304.

Text boxes 2306 and 2307 are control boxes for inputting a user name andpassword. The text boxes 2306 and 2307 are used to log in to the PC 100from the multifunction apparatus 130. The scanner may fail to write afile unless an authentic user is designated.

When SMB is used as a protocol, a folder must be set as a shared folderand accessible outside the host PC. The system described in the firstembodiment has a function of automatically setting a folder to be sharedwhen the folder is newly added and when a designated path name is notset to be shared in changing the path name. When the system runs in theWindows® system, a path designated in the text box 2304 is set to beshared by using the Win32API function. For “shared” setting, all usersare given access authority, but if a security problem arises, only auser designated in the text box 2306 may be permitted to share a folder.

FIGS. 24 and 25 show examples of GUIs which designate an action taken bya resident application when a file is added to a folder to besupervised. FIG. 25 illustrates a GUI for settings associated withbackup of imported data. FIG. 24 illustrates a GUI for other settings.

Items settable on the GUI in FIG. 24 will be explained. In the firstembodiment, settings are classified into four groups, and the GUI isalso divided by lines into four categories: from the top, setting ofwhether to create a new book file or additionally read a file into anexisting book file, designation of attributes for an imported file orchapter and the data format of a page which is imported into a document,setting of a function of recognizing a blank and automatically editing achapter structure, and setting of image correction.

A radio button 2401 is a control button for selecting whether to createa new book file or add a file to an existing file when a file is addedto a hot folder. Note that “PM” in FIG. 24 means the bookbindingapplication 104.

When the scanner is set to create not one file of pages but one file ofone page in scanning a plurality of pages, one book file is created fromscanned data of a plurality of pages in place of creating one file forone page upon recognizing a scan job. Details of this process will bedescribed later.

A button 2402 is a control button for designating a template to beapplied to imported data. The template is data prepared by groupingsetting values for a document. The template packs up a plurality ofsettings for a document such as A4 paper, 2 UP, double-sided printing,and staple On. By applying a template, a plurality of settings can bechanged with a touch without setting attributes one by one.

For example, a template which sets 2 UP, bookbinding printing, and thelike can be designated. When another template is selected, 1 UP,double-sided printing, stapling, and the like are set. The hot folders4001 and 4002 in FIG. 41 described above are set in this manner.

In the first embodiment, an attribute value can also be applied as asetting for a chapter in additional read. Details of this process willbe described later.

A drop-down list 2403 designates the format of imported data, especiallythat of a document upon importing image data. The drop-down list 2403allows selecting TIFF, JPEG, and BMP formats. When no format isparticularly designated, data is imported by a method which hardlydegrades the image quality in accordance with the image data format, andthus the file size becomes large. If only monochrome text data isscanned, TIFF can be selected to decrease the file size withoutdegrading the image quality by MMR compression. Even for color data,JPEG can be selected to decrease the file size as far as the data is nottext or graphic data but photographic data.

A check box 2404 designates whether to delete a blank page. For example,for a double-sided document having only an odd number of pages, thelower surface of the final paper sheet is blank, but the image of thelower surface exists as scanned data. When this check box is set ON, andimage data is checked and determined to be blank, the blank documentpage is deleted and is not imported into a book file.

A check box 2405 is a switch for determining whether to recognize ablank sheet and perform a chapter editing process. By setting this checkbox ON, a radio button 2406 and check box 2407 can be used.

The radio button 2406 is a switch for a process of simply segmenting achapter at a portion where a blank page appears, and a process of, whenblank pages alternately appear like read of a single-sided document indouble-sided printing, grouping a part alternately containing blankpages and creating a chapter. When a single-sided chapter is recognized,whether to designate single-/double-sided printing for a chapter can bedesignated with the check box 2407.

A check box 2408 designates whether to execute a black point removalprocess in importing image data.

A check box 2409 designates whether to execute a skew correction processin importing image data.

FIG. 25 illustrates an example of a GUI for settings associated withbackup of an imported file.

A radio button 2501 designates whether to delete or back up an importedfile.

A check box 2502 is a switch for whether to leave a backed-up filewithout any limit (copying a file in the backup folder 4011 shown inFIG. 41) or imposing a limit. A check box 2503 is a switch forvalidating a limit by the file size. When this check box is ON, themaximum of the total file capacity for backup can be designated. If thebackup capacity exceeds the maximum, files are deleted in an order froman older file.

A check box 2504 sets the number of days for which a backup file iskept. When this switch is ON, how many days a file is kept for can bedesignated. The date when a backup file was created and the current dateare compared, and when the number of days exceeds the date limit, thefile is deleted.

A button 2505 is used to delete all current backup files. When thisbutton is clicked, all backup files in the backup folder 4011 aredeleted even if the file size or the number of days has not reached thelimit.

In the first embodiment, FIGS. 23 to 25 show tab control operations onone dialog for one hot folder, and a different action can be designatedfor each hot folder.

FIG. 27 is a flowchart for explaining details of step S2004 in FIG. 20.

In step S2701, information upon examination in response to the previoustimer event is read out. This information may be stored in a RAM or thelike.

In step S2702, information on the number of files of a folder to beprocessed, the file name, and the update date and time is read out fromthe OS.

In step S2703, the information obtained in step S2701 and theinformation obtained in step S2702 are compared to determine whether thefile configuration in the folder has changed. More specifically, it ischecked whether each file in the folder has existed in previousexamination, and when a file of the same name has existed, whether theupdate date and time are later than the previous examination date andtime.

If the folder configuration is determined in step S2703 to have changedfrom the previously examined one, the process advances to step S2704 tocreate a list of files which have not existed in previous examinationand files which have been updated after previous examination. If thefile configuration is determined in step S2703 to have not changed, theprocess advances to step S2705.

In step S2705, the information acquired in step S2702 is written. Thisinformation serves as information to be read out in step S2701 in thenext examination.

When a file is deleted after import in a file backup process, or a fileis moved to another folder, the previously processed file has alreadybeen moved or deleted from the folder to be processed, and thus allfiles in the folder to be processed are simply added to the import filelist. In this case, steps S2701 and S2705 are unnecessary.

Note that the import file list means a queue which is registered incorrespondence with storage of one or more import files and executes anaction in step S2006. One or more files registered in the queuecorrespond to files whose presence/absence is determined in step S2903(to be described later).

The import file contains image files of various formats and also imagedata which is not converted into a file.

FIG. 28 is a flowchart for explaining details of the determinationprocess in step S2005 of FIG. 20 and the pre-process of an action to afolder in step S2006. A description of step S2006 is long, and thus stepS2006 will be explained in two processes: a file process before importand an editing process after import.

In step S2801, it is determined whether a file list created in stepS2704 of FIG. 27 is blank. If the file list is blank, the process ends.If the file list is not blank, the process advances to step S2802 tosort files in the list in an order of file name.

In step S2803, it is checked whether image quality correction in importhas been set for a hot folder of interest. This equals determination ofwhether the check box 2408 or 2409 shown in FIG. 24 is checked. Tocorrect the image quality, the process advances to step S2804 to copyeach file registered in the file list to the temporary folder of thefile and perform the image quality correction process for the copy. Ifthe image quality need not be corrected, the process advances to stepS2809 to perform an import process.

Steps S2804 to S2808 describe a loop process of correcting the imagequality of each file in the file list.

In step S2804, it is determined whether an unprocessed file remains byadvancing the process sequentially from the top of the list. If theimage quality correction process has ended for all files in the filelist, the process advances to step S2809; if a file which has notundergone the image quality correction process remains, to step S2805.

In step S2805, the names of unprocessed files are extracted sequentiallyfrom the top of the file list, and subjected to processes in step S2806and subsequent steps.

In step S2806, it is determined whether file backup has been set. Backupis set when the user selects “store in folder” with the radio button2501. In this case, since scanned data is lost by correcting the imagequality, the file must be copied before the image quality correctionprocess.

If it is determined in step S2806 that backup has been set, the processadvances to step S2807 to copy the data file before image qualitycorrection in the backup folder 4011. If it is determined that no backuphas been set, the process advances to step S2808.

In step S2808, the image quality is corrected in accordance with thechecks in the check boxes 2408 and 2409, and file is created. In thiscase, processes such as rotation correction when a document is skewedand scanned, and removal of an isolated black point are performed. Skewscanning is determined by detecting the edge of a document andcalculating the inclination of a straight line represented by thedocument edge. When the inclination shifts by a predetermined angle ormore, a rotation process is executed to make the edge line coincide withthe nearest horizontal or vertical line. A black point is removed by,when the number of black pixels is equal to or smaller than apredetermined number, black pixels are concentrated in a predeterminedarea, and no other black pixel exists in a predetermined range,determining a black pixel as noise and replacing it with a white pixel.

The page control information 410 (see FIG. 3) of a corresponding pageholds the presence of a backup page, the path name of the backup folder4011, and the file name of a copy in the backup folder 4011. When a pageof interest exists in a multi-page file, a page number in the chapterand a page number in the multi-page file coincide with each otherbecause multiple pages are imported as one chapter in the initial stage.Hence, information on a page number in the chapter is also written inthe page control information 410 in creating page information.

Step S2809 is an import process. Details of this process will beexplained with reference to FIG. 29.

In step S2810, it is determined whether to back up the file afterimport. If the user sets delete of a file with the radio button 2501,the process advances to step S2811; if NO, to step S2812.

In step S2811, all files in the file list are deleted from the hotfolder.

In step S2812, files in the file list are backed up to the backup folder4011. The process in step S2812 is not performed in the mediacy of theprocess in step S2807. In the first embodiment, the location of thebackup folder 4011 serving as a moving destination is a folderdetermined in advance by a program, but may be designated by the user.When the user designates the location of the backup folder 4011, thecorrespondence between a file and its moving destination must be recodedin the setting of the hot folder or the book file for a restore process.

FIG. 29 is a flowchart for explaining details of the post-process of anaction to a folder in step S2006 of FIG. 20. This process is executedwhen storage of an import file (data) into a folder set via the GUIs ofFIG. 14 and the like is detected by the PC 100 which creates a book filemanaged by a hierarchical structure on the basis of the flowchart ofFIG. 20. Folders to be detected are assumed to be a plurality of hotfolders shown in FIG. 41, and a plurality of hot folders are assumed tohave different settings via the setting window of FIG. 14.

Also assume that the bookbinding application subjected to import isactivated, and receives an import file list and an action in import.

In step S2901, it is determined whether to add a file to an existingfile or form a new file from only import files. If no bookbindingapplication is activated, or the bookbinding application is activatedbut no file is opened at present, it is determined to create a new file.If it is determined to create a new file, the process advances to stepS2902 to apply a template. The applied template is a template designatedwith the button 2402 in FIG. 24 in folder settings. The settings of thistemplate are used as the attribute settings of a new book.

If it is determined in step S2901 not to create a new file, the processadvances to step S2903.

In step S2903, it is determined whether to end a loop for processingeach file in the import file list. If all files in the import file listhave been processed, the process advances to step S2910; if anunprocessed file remains, to step S2904. YES in step S2903 correspondsto a case in which an additional import file is stored into any one offolders. Step S2903 is applied also when a new chapter is input via anyfolder to a book file which has already been created, and when data isinput to any folder to a book file newly created in step S2902 and achapter which reflects the settings of the folder is added.

In step S2904, the names of files to be processed are extractedsequentially from the top of the import file list.

In step S2905, the scanning method of a data file from the multifunctionapparatus 130 is determined from the file name extracted in step S2904.As a file creating method in scanning a document of pages, two methodscan be selected: scanned data are saved as one file of multi-page PDF ormulti-page TIFF (MTIFF), or a separate file (file of a single page) isformed for each page to create files by the number of document pages.When data of pages are created as one file in the multifunctionapparatus 130, one file is created with a file name of a format “‘year,month, day, hours, minutes, seconds’. ‘extension’”. When a plurality ofpages are created, a plurality of files are created with a format“‘year, month, day, hours, minutes, seconds’_‘page number’.‘extension’”.

For example, when a 2-page document is scanned with the TIFF format justat 1:11, Jan. 1, 2000, a file “20000101011100.tiff” is created fordesignation of creating one file, and two files“20000101011100_(—)00001.tiff” and “20000101011100_(—)00002.tiff” arecreated for designation of creating a plurality of files. If a file namesubjected to process has the latter format, it is determined that adocument is scanned with a setting of creating a file for each page, andthe process advances to step S2906; if NO in step S2905, to step S2907.Accordingly, when document data to be stored into a folder are aplurality of single-page files, these single-page files can be createdas one new chapter.

In step S2906, it is determined whether a character string representing“page number” immediately before the extension of the file name is“00001”. For “00001”, the page is the first page in creating a pluralityof pages, and the process advances to step S2907.

In step S2907, a chapter for storing a document page is created. Whenone scanned data is formed from one file, a file to be imported is notimage data transmitted from the scanner, or one scanned data is formedfrom a plurality of files, a chapter for storing page data is created.

The process advances to step S2908 to execute an attribute settingprocess for the new chapter created in step S2907. The attribute settingprocess will be explained in detail.

If the page is determined in step S2906 not to be the first page, achapter for storing data has already been created in processing thefirst page, and the process advances to step S2909.

In step S2909, page data are sequentially added to the chapter createdin step S2907. The process then returns to step S2903 to execute chaptercreation and the page addition process sequentially up to the end of thelist.

At this time, information complying with the setting conditions of a hotfolder which receives a page to be added is set in the page settinginformation 411 of the page to be added. For example, to add a pagestored in a hot folder having 4 UP setting, the page setting information411 holds 4 UP, and the page data link 412 holds information linked tofour document images. Other attributes set in the hot folder are alsosimilarly set, and chapter control information, chapter settinginformation, a page information list, page control information, pagesetting information, and a page data link shown in FIG. 3 are created.On this stage, a document (book) to which the page belongs has not beenset yet.

If chapter creation and the page addition process end for all files inthe import file list, the process advances to step S2910 to execute thefunction of the bookbinding application.

On the GUI in FIG. 24, blank paper deletion and a chapter segmentationprocess which are designated with the radio button 2406 can be selectedas the function of the bookbinding application.

In the first embodiment, processes after the end of data addition areonly blank page removal and the chapter segmentation process, but anarbitrary function of the bookbinding application can be executed.

<Creation of New File and Addition to Existing File>

The process of determining whether to add a file to an existing file instep S2901 will be described in detail. The first embodiment willdescribe not a method of designating a file name but a method of addinga file to a window. This method is advantageous because a window is openand the user can immediately confirm the added state in comparison witha process in which no GUI is opened. When a file is created or addedwithout opening any GUI, the user must designate at least the path nameof a file to be newly created or to be added. The path can be designatedusing a Windows® standard dialog, and a description thereof will beomitted.

FIG. 30 shows an example of a GUI for setting a mode in which additionalread is permitted in the bookbinding application 104.

When a button 3001 in FIG. 30 is clicked, additional read into a bookduring editing is enabled. When a plurality of windows capable ofadditional read exist, a window must be selected again. In the firstembodiment, to simplify the operation step, the system has only oneadditional read window. If the button 3001 is clicked in a givenbookbinding application window while a plurality of bookbindingapplication windows are open, the clicked bookbinding application windowis preferentially determined as a target to which an electronic documentchapter or page generated by the hot folder program is assembled. Thatis, the process of the flowchart in FIG. 29 described above is executedby the bookbinding application 104 for a window specified by aninstruction input via the button 3001.

FIG. 31 is a flowchart for explaining a sequence of determining abookbinding application window to be added by the resident applicationprogram (hot folder program) of a hot folder.

In step S3101, it is determined whether the folder setting is setting ofaddition to an existing file. If new creation is set, the processadvances to step S3102 to activate a new bookbinding applicationsubjected to addition.

The process then advances to step S3103 to change the bookbindingapplication activated in step S3102 to an additionally readable setting.In order to implement this function, an interface which permits/inhibitsadditional read is inserted between the bookbinding application 104 andthe resident application (hot folder program).

The process advances to step S3104 to set as an additional import targeta bookbinding application window given the additional read setting instep S3103.

If the folder setting is setting of addition to an existing file in stepS3101, the process advances to step S3105.

In step S3105, the window handles of running applications aresequentially acquired by using the API of the OS, and each window isinquired of whether permission of additional read of a file is ON. Inorder to implement this function, an interface which inquires the stateof additional read setting is inserted between the bookbindingapplication and the hot folder program.

If no addable bookbinding application window is found in step S3105, theprocess is switched to creation of a new file in the first embodimentinstead of determining an error. The process advances from step S3105 tostep S3102, and merges into the new creation flow.

If an addable bookbinding application window is found in step S3105, theprocess advances to step S3104 to set the found window as an additiontarget.

<Attribute Setting to Chapter in Import>

In the first embodiment, attributes are set using a template for a book,as shown in FIG. 24. However, the first embodiment can perform not onlydesignation to a layer “book” but also proper setting of a layer“chapter” different from “book”.

FIG. 32 is a flowchart for explaining details of step S2908 in FIG. 29.FIG. 32 implements a process of employing some of the settings of afolder and setting document data to be added as a chapter when importdata is stored into a folder in order to add document data to a bookfile. The document data is, e.g., chapter data of a book file, and thechapter data contains the attribute settings and page data of thechapter.

Step S3201 is determination of the end of a loop, and it is determinedwhether all items in the template of a book set via the UI of FIG. 14have been processed. If all items are determined in step S3201 to havebeen processed, the process ends. If an unprocessed attribute item isdetermined in step S3201 to remain, the process advances to step S3202.

An unprocessed setting item is extracted from the template in stepS3202, and the process advances to step S3203 to determine whether thisitem is an attribute item applicable to the chapter. As a determinationmethod, a table which describes whether an item is applicable to thechapter is held, and an item is determined by referring to the table. Ifthe setting item does not exist in chapter attributes shown in FIG. 5,like the printing method setting or index paper setting among bookattributes shown in FIGS. 4A and 4B, the setting item cannot be appliedto the chapter, and the process returns to step S3201.

If the same setting item such as the paper size or Nup printingdesignation also exists for the chapter, the process advances to stepS3204 to determine whether the attribute is inconsistent with theattribute of the book. For example, when the printing setting of a bookis bookbinding printing, the paper size cannot be switched in a chapter,and even if the chapter has this item, the paper size item is determinedto be inapplicable. Whether a chapter setting is inconsistent with abook setting is also determined by referring to an internally heldtable.

If the item is determined in step S3204 not to be inconsistent with thesetting of the book, i.e., to be consistent with it, the processadvances to step S3205 to set the item as a chapter setting. In thiscase, when both the book and template have 2 UP setting, 2 UP may be setfor the chapter, or 2 UP may not be set because the result is the samefor the setting common to the book even if 2 UP is not set for thechapter. Control for, when one of the processes is applied or one of theprocesses is fixed to the system and the setting value is the same asthat of an upper layer, designating whether to set this value may beadded to the GUI in FIG. 24 so that the user can select the method.

The process advances to step S3206 to determine whether the chaptersetting influences the book setting. Assume that one of book attributesis single-sided setting, and the template in the addition process hasdouble-sided setting. In the first embodiment, the book attribute mustbe double-sided setting in order to switch between single-sided printingand double-sided printing for each chapter. Thus, the book attributemust be changed to double-sided setting, and the settings of allchapters except a chapter to which the template of double-sided settingis applied must be switched to single-sided printing. In this case, thechapter setting is determined to influence book and other settings, andthe process advances to step S3207. When the book has 2 UP setting andthe template has 1 UP setting, 1 UP is simply applied. In this case, thechapter setting is determined not to influence other settings, and theprocess returns to step S3201. In step S3207, the settings of the bookand chapter are changed, as described above.

The criterion and setting change method in step S3206 also have a table,and determination and a change of the setting are performed inaccordance with the contents of the table.

<Replacement with Backup File>

As described above, image quality correction can be automaticallyapplied to a hot folder in file import according to the first embodiment(in the first embodiment, the correction process includes skewcorrection and black point correction). In some cases, however, thecorrection parameter is not proper, and a necessary point such as asonant symbol may be removed by black point removal. For example,characters in a document scanned by the multifunction apparatus 130 aresmall, and an alphabet “i” or a Japanese sonant symbol may be determinedto appear owing to noise and may be removed. In this case, acorresponding page of a book can also be replaced with a page of a filestored in the backup folder 4011.

Replacement with a backup page is achieved by selecting a target page inthe bookbinding application and selecting “replace with backup page”(not shown) in a process menu displayed upon right click. Note that themenu item “replace with backup page” is displayed only when a backuppage for a target page exists.

Whether a backup page of a target page exists is determined usinginformation which represents the presence of a backup and is stored inthe page control information 410 when the hot folder program copies thetarget page in the backup folder before the image correction process(see the description of FIG. 28).

FIG. 33 is a flowchart for explaining the replacement process with abackup file.

In step S3301, the names of a backup folder and file which are writtenin import are read from the page control information 410 of a page whichis designated by the user to be replaced.

The flow advances to step S3302 to confirm whether a target file remainsin a path name designated by the backup folder name and file name readin step S3301. If the backup file remains in step S3303, the processadvances to step S3304; if NO, an error message is displayed to theuser, and the process ends.

If no file exists, it may be additionally determined whether the samedata as the file name is contained in another folder such as a Windows®temporary folder.

The backup file is changed into a format importable to the document instep S3304, and the process advances to step S3305 to provisionallyimport the backup file into the file. When the backup file is amulti-page file and pages can be freely handled, the backup file can bekept unchanged in a state converted in step S3304, and need not beprovisionally imported.

In step S3306, it is determined whether the backup file is a multi-pagefile. This determination can be done on the basis of the number ofprovisionally imported pages, whether the page control information 410contains page number information, or the file name of the backup file.If the backup file is determined to be a multi-page file, the processadvances to step S3307 to read page number information from the pagecontrol information 410.

In step S3308, the provisionally imported file and a page in the targetbackup file in the replacement-designated backup file are exchanged inthe page information list 413. For a multi-page file, a page number isread in step S3307 from provisionally imported pages, and only datacorresponding to the page number is exchanged from data of provisionallyimported pages.

The process advances to step S3309 to delete the old page data exchangedin step S3308 and for multi-page data, all unreplaced page data.

When a page during editing is replaced with a backup page, a backup filein the backup folder is not deleted. This is because, for a multi-pagefile, a page replaced with the backup file and an unreplaced page maycoexist, and erroneous editing can be coped with when an image is editedin the bookbinding application.

Although not described in detail in the first embodiment, when the userdesignates replacement of a plurality of pages, the backup file name ischecked, and pages using the same backup file are processed at once,reducing the backup file conversion and provisional import processcounts.

<Attribute Application Table for Chapter>

In the description of FIG. 32, a table is referred to in applying a bookattribute to a chapter. FIG. 34 shows an example of a table referred towhen a book attribute is applied to a chapter in import.

Determination (step S3203) of whether an attribute item can also beapplied to a chapter uses “applicable to chapter?” in the third columnof the table shown in FIG. 34. An item with “∘” is applicable, an itemwith “Δ” is a setting which may be rounded in relation to othersettings, and an item with “x” is inapplicable.

The table of FIG. 34 is read into the bookbinding application. When datais read into a folder in order to add an import file (document data)into a book file (document) which has already been read into thebookbinding application, some of the settings of a folder set via thesetting window of FIG. 14 are employed as the settings of the importfile added as a chapter on the basis of the table of FIG. 34. FIG. 34provides an example of some of the settings of a folder.

Determination (step S3204) of whether an attribute is inconsistent witha book attribute uses “inconsistency determination” in the fourth columnof the table. For the printing method, when the book has “bookbindingprinting” setting, it is determined that the attribute cannot be set forthe chapter. When the book has single- or double-sided printing setting,the attribute is determined to be applicable.

The criterion and setting change method in step S3206 use “settingchange method” in the fifth column of the table.

The chapter attribute setting method can be changed by rewriting thetable in accordance with the system specifications.

FIG. 35 is a flowchart for explaining an example of a process when theprinting method setting is applied. The flowchart of FIG. 35 correspondsto a more detailed description of processes in steps S3204 to S3208 ofFIG. 32 when the item “printing method” in FIG. 34 is exemplified.

In step S3501, a printing method designated by a hot folder is checked.The process advances to step S3502 for single-sided printing, step S3505for bookbinding printing, and step S3506 for double-sided printing.

In step S3502, the printing method setting currently designated for abook is checked from the document setting information 403. If theprinting setting of the book is double-sided printing, the processadvances to step S3503; if the printing setting is single-sided orbookbinding printing, to step S3504. In step S3503, single-sidedprinting is designated as the printing setting of a chapter. With thissetting, part of double-sided printing is changed to a printing methodwhich does not use any lower surface. In addition, the single-sidedprinting part issues a single-sided printing command to the printer, andthe printing time can be shortened because the process skips thedouble-sided printing unit.

If the attribute settings of the book and chapter coincide with eachother in single-sided printing or the book exhibits bookbindingprinting, no setting is possible in the chapter, and the process endswithout doing anything in step S3505.

In step S3505, the setting of the book is preferentially adopted,bookbinding printing cannot be set for the chapter, and the process endswithout setting any printing method for the chapter.

In step S3506, the printing method setting of the book is checked. Ifthe printing setting of the book is single-sided printing, the processadvances to step S3507; otherwise (double-sided printing or bookbindingprinting), to step S3510.

In step S3507, the printing method is set to double-sided printing foronly an additionally read chapter and single-sided printing for otherchapters. In the first embodiment, the printing method cannot be changedto double-sided printing for a chapter when the setting of a book issingle-sided printing. The printing method must be set to double-sidedprinting for a book, and changed to single-sided printing for a chapterrequiring single-sided printing, and double-sided printing for a chapterrequiring double-sided printing.

For this reason, in step S3507, the printing setting of the book ischanged to double-sided printing. In this case, the entire document isoutput by double-sided printing, and thus the process advances to stepS3508 to set single-sided printing for all chapters. At this time, astate before entering the flow of FIG. 35, i.e., a state in which allpages are output by single-sided printing is obtained. The process thenadvances to step S3509 to perform double-sided setting for a chapter tobe added currently.

In step S3510, the process ends without doing anything because thesettings of the book and chapter coincide with each other indouble-sided printing or no printing method can be designated for thechapter when the book exhibits bookbinding printing.

By executing the flowchart of FIG. 35 in this way, when storage of datainto a supervised folder is detected, new additional data complying withthe settings of the folder are generated in a book file. At this time,if the settings of document data to be added to the book file are thesame as the attributes of the book file, the settings of the documentdata to be added are synchronized with a change of the book attributes.If the settings of document data to be added to the book file aredifferent from the book attributes, the settings of the document data tobe added are made independent of the book attributes.

In other words, when the settings of document data to be added to a bookfile are the same as the attributes of the book file, the check boxes1501 to 1503 are checked upon displaying the setting window of FIG. 15.

When the settings of document data to be added to a book file aredifferent from the book attributes, the settings of the document data tobe added are made independent of the book attributes, and the checkboxes 1501 to 1503 are not checked upon displaying the setting window ofFIG. 15.

<Another Example of Attribute Setting Process for Chapter>

In steps S3504 and S3510 of FIG. 35, a value to be set for a chapter andthe current setting value of a book are compared, and when these valuesare the same, no process is executed. As another example, a process ofsetting a lower layer even when upper and lower layers have the samesetting in import will be explained.

FIG. 36 is a flowchart showing a setting process for a chapter.

In step S3601, Nup setting information set for a chapter to be added isread in response to storage of an import file into a folder.

In step S3602, the Nup setting value of the current book file is readout from the document setting information 403.

In step S3603, it is determined whether the results read out in stepsS3601 and S3602 are equal to each other. If NO in step S3603, theprocess advances to step S3605 to set the setting value read out in stepS3601 in the chapter setting information 407. If the settings of boththe book and chapter coincide with each other, the process advances tostep S3604 to determine whether this setting is assigned to the chaptereven if the settings coincide with each other. This designation may beexecuted by the user or a process for either the book or chapter inaccordance with the system specifications.

FIG. 37 shows an example of a GUI when settings are changed to those ofa hot folder. In FIG. 37, by checking a check box 3701, settings aregiven to a chapter even when the settings of the chapter and bookcoincide with each other. To give a setting to the chapter even if thesettings of the book and chapter coincide with each other, the processadvances to step S3605 to write the setting in the chapter settinginformation 407. For a setting of not writing any setting when thesettings of the book and chapter coincide with each other, the processends without doing anything.

Consequently, both the book and chapter are set, and even if the bookattribute is changed, the attribute setting remains in the chapter, andthe intentional attribute setting of the chapter is held.

<Another Example of Determination of Backup Creation>

In the flow of FIG. 28, whether to back up a file is determined byreading contents designated with the radio button 2501 in FIG. 25. Asanother determination method, a determination process of backing up afile, only as needed will be explained.

In the first embodiment, original data is necessary when data isrewritten by image correction. In this case, the radio button 2501 fordesignating backup is eliminated from the GUI, and changed to a choice“back up a file when an image is corrected”.

FIG. 38 is a flowchart showing an example of a process when backupdetermination in the flowchart of FIG. 28 including a backup process isreplaced with an image correction process.

In step S3801, it is determined whether a file list created in stepS2704 of FIG. 27 is blank. If the file list is blank, the process ends.If the file list is not blank, the process advances to step S3802 tosort files in the list in an order of file name.

In step S3803, it is checked whether image quality correction in importhas been set. If the check boxes 2408 and 2409 are checked, the processadvances to step S3804 in order to correct the image quality. Copies offiles registered in the file list are saved in the backup folder 4011,and then the image quality correction process is performed. If the imagequality need not be corrected, the process advances to step S3809 toperform an import process.

Steps S3804 to S3807 describe a loop process of correcting the imagequality of each file in the file list.

In step S3804, it is determined whether an unprocessed file remains byadvancing the process sequentially from the top of the list. If theimage quality correction process has ended for all files in the filelist, the process advances to step S3808; if a file which has notundergone the image quality correction process remains, to step S3805.

In step S3805, the names of unprocessed files are extracted sequentiallyfrom the top of the file list, and subjected to processes in step S3806and subsequent steps.

The process advances to step S3806 to copy data before image qualitycorrection.

In step S3807, the image quality is corrected in accordance with thechecks in the check boxes 2408 and 2409 to overwrite the file.

Step S3808 is an import process. In step S3809, it is determined whetherto back up or delete the file after import. If the user sets delete of afile with the radio button 2501, the process advances to step S3810; ifNO, to step S3811.

In step S3810, all files in the file list are deleted. In step S3811,files in the file list are backed up.

<Example of Display When Backup is Possible>

A GUI as shown in FIG. 9 is displayed when a book file is opened in thebookbinding application 104 according to the first embodiment. It isdemanded of each page to discriminate on the window whether a backuppage of the page exists.

As described above, the page control information 410 of each pagecontains information on whether a backup page exists. As shown in FIG.39 instead of FIG. 19, for a page 3901 representing that a backup pageexists in the backup folder 4011, a character string BKUP is displayedin a corresponding page in the book tree display area. Although thecharacter string is added in FIG. 39, a different form of the page iconmay be displayed as far as the presence/absence of a backup can bedetermined. A mark representing a backup may be added to each page inthe page layout area, or displayed in both the tree and layout areas.

As described in the first embodiment, a page is backed up when adocument is scanned by the multifunction apparatus 130, an imagecorrection process is executed, and the page actually exists in thebackup folder 4011 with a backup folder name and file name described inthe page control information 410.

As described above, a backup file is deleted on the basis of thelimitations of the file capacity and the number of days. In opening afile, the location of the backup file is confirmed.

As described above, the first embodiment prepares two methods forcreation of a new book by the bookbinding application and import of anew chapter or page into an existing book.

First, an application data file created by a general application (thetype and manufacturer of the application do not matter) is dragged anddropped to the running bookbinding application. In this case, anelectronic document file can be created and imported by the electronicdocument writer 102, as needed. When the file is an image data filesupported by the bookbinding application in the first embodiment, thefile can be directly imported.

Second, a document bundle is scanned by a network scanner represented bythe multifunction apparatus 130, and the file is imported by designatinga hot folder as the transmission destination of the scanned image.According to the first embodiment, a plurality of hot folders can exist,and each hot folder can define the attributes of a chapter and page inimport. When a file is actually imported into the bookbindingapplication, the definition of the file is completed as a page havingseveral attributes, which can simplify work in the bookbindingapplication.

When a file is imported by the second method, an application used toprint a document to be scanned by the multifunction apparatus 130 neednot be installed in a PC which executes the bookbinding application.This is preferable when a plurality of users share creation of adocument with their PCs.

According to the second method, image correction such as image skewcorrection or black point removal can also be set, and a page almostequal in quality as a page created by the first method can also becreated. As described above in the first embodiment, if the imagecorrection result is not preferable, the corrected page can be replacedwith a page before image correction, providing high convenience.

Second Embodiment

In the first embodiment, a hot folder is exemplified as a storagedestination in import, and an image file scanned by the multifunctionapparatus 130 on the network is stored. However, it is demanded to copewith a case in which a data file created by a general application in thePC 100 is stored.

This can be achieved by adding process steps S4201, S4202, and S4203shown in FIG. 42 between steps S2005 and S2006 in FIG. 20.

That is, the import process shown in FIG. 10 for a data file by ageneral application is inserted between these steps.

In step S4201, it is determined whether data to be stored as an objectinto a hot folder is an image file supported by a bookbindingapplication. If NO in step S4201, the same process as step S803 in FIG.10 is executed in step S4201. Note that a corresponding hot folder isdesignated as the output destination of an electronic document writer102. As a result, an electronic document file is created in the hotfolder, and the original file is deleted in step S4203. The process thenadvances to step S2006.

The hot folder functions not only for an image file scanned by adocument scanning apparatus (multifunction apparatus or network scanner)but also for a data file by a general application.

When respective parts (e.g., chapters) of one book are created by aplurality of users with applications running in PCs 100, 110, 120, and125, it is most effective to install the electronic document writer 102described in the embodiments in the respective PCs. Hot folders arecreated for the respective users and set so that the users of the PCscan access the hot folders. Application data files created by the PCsare output to the hot folders created for the respective users by usingthe electronic document writer 102, and can be imported to thebookbinding application without scanning the document in the PC 100.

A hot folder is set in a PC which executes the bookbinding applicationin the embodiments, but may be set in a storage device on a network.

In the embodiments, a file may be added as a chapter in import. Forexample, a page in a specific chapter may be designated to import eachpage immediately after (or immediately before) the designated page.

In the flowcharts described in the embodiments, preceding and succeedingsteps can be exchanged as far as inconsistency occurs in the process.

As described in the embodiments, various settings and changes can beefficiently done for any layer of a document having a hierarchicalstructure.

Data of a readable format can be generated as a page of a hierarchicalstructure from an import file (data) stored into a folder on the basisof attributes set for the folder, and a book file to be printed can becreated at high productivity.

As has been described above, according to the present invention, in anapparatus which stores and manages, as part of one bookbinding data,each page image in an image file scanned by a predetermined documentscanning apparatus and edits each page, a page image of a scanneddocument image can be returned to a state before an image correctionprocess by only a simple operation, thereby facilitating bookbindingwork.

Most features of the embodiments are implemented by a computer program,as shown in FIG. 1, and the program falls within the spirit and scope ofthe present invention. In general, the computer program can be executedby setting in a computer a computer-readable storage medium such as aCD-ROM which stores the computer program, and copying or installing thecomputer program in the system. Such computer-readable storage mediumalso falls within the spirit and scope of the present invention.

As many apparently widely different embodiments of the present inventioncan be made without departing from the spirit and scope thereof, it isto be understood that the invention is not limited to the specificembodiments thereof except as defined in the claims.

CLAIM OF PRIORITY

This application claims priority from Japanese Patent Application No.2004-122288 filed on Apr. 16, 2004, which is hereby incorporated byreference herein.

1. A document processing apparatus which stores, as part of one documentdata, each page image in an image file and edits each page image,comprising: backup setting means for setting that a backup of the pageimage to be imported as part of document is created; save means forsaving the page image in a predetermined storage area when said backupsetting means sets that the backup of the page image is created; displaycontrol means for displaying each page image of a document imported intothe document data on a display for editing the document data; andreplacement means for, when a desired page is designated from pagesdisplayed by said display control means, a predetermined operation inputis done, and a backup of a page image which corresponds to thedesignated page has been saved in said save means, replacing thedesignated page with the backed-up page image.
 2. The apparatusaccording to claim 1, wherein said display control means displays pageimage having a backup and page image having no backup in differentmanner.
 3. The apparatus according to claim 1, further comprisingnetwork connection means for connecting a network, wherein said backupsetting means sets whether or not a backup is created in each sharedfolder present on the network, and stores a page image of an image fileto be imported as document data into the shared folder.
 4. The apparatusaccording to claim 1, further comprising image correction setting meansfor setting whether to perform document skew correction and isolatedblack pixel removal correction for each shared folder, wherein said savemeans saves as a backup a page image before document skew correction andisolated black pixel removal correction.
 5. A method of controlling adocument processing apparatus which stores, as part of one documentdata, each page image in an image file and edits each page, comprising:a backup setting step of setting that a backup of the page image to beimported as part of document is created; a save step of saving the pageimage in a predetermined storage area when the page image is set, in thebackup setting step, to be backed up; a display control step ofdisplaying each page image of a document imported into the document dataon a display for editing the document data; and a replacement step of,when a desired page is designated from pages displayed in the displaycontrol step, a predetermined operation input is done, and a page imageof a page image which corresponds to the designated page has been backedup is saved in the save step, replacing the designated page with thebacked-up page image.
 6. The method according to claim 5, wherein, inthe display control step, a page having a backup and a page having nobackup are displayed in different manner.
 7. The method according toclaim 5, further comprising a step of communicating via networkconnection means for connecting a network, wherein, in the backupsetting step, whether to create a backup in each shared folder presenton the network is set, and a page image of an image file to be importedas document data is stored into the shared folder.
 8. The methodaccording to claim 5, further comprising an image correction settingstep of setting whether to perform document skew correction and isolatedblack pixel removal correction for each shared folder, wherein in thesave step, a page image before document skew correction and isolatedblack pixel removal correction is saved as a backup.
 9. A computerprogram functioning as a document processing apparatus which stores, aspart of one document data, each page image in an image file and editseach page image, the program functions as: backup setting means forsetting that a backup of the page image to be imported as part ofdocument is created; save means for saving the page image in apredetermined storage area when said backup setting means sets that thebackup of the page image is created; display control means fordisplaying each page image of a document imported into the document dataon a display for editing the document data; and replacement means for,when a desired page is designated from pages displayed by said displaycontrol means, a predetermined operation input is done, and a backup ofa page image which corresponds to the designated page has been saved insaid save means, replacing the designated page with the backed-up pageimage.
 10. The program according to claim 9, said display control meansdisplays page image a backup and a page having no backup in differentmanner.
 11. The program according to claim 9, further comprising meansfor communicating via network connection means for connecting a network,wherein said backup setting means sets whether to create a backup ineach shared folder present on the network, and stores a page image of animage file to be imported as document data into the shared folder. 12.The program according to claim 9, further comprising image correctionsetting means for setting whether to perform document skew correctionand isolated black pixel removal correction for each shared folder,wherein said save means saves as a backup a page image before documentskew correction and isolated black pixel removal correction.